The present invention relates to an information processing system using a network, and particularly to an information processing system including multiple computers and which utilizes a network.
There are two kinds of computer system configurations generally known at present. One is based on personal computers (PCs) which are placed atop the desks of individual users who run their application programs exclusively on their PCs. Each user has his/her application programs and files stored in the storage device (e.g., magnetic disk) built in the PC, and runs a program by loading it into the main memory of the PC. This computer system will be called here "PC system". The user starts the PC system by simply turning on its power, and fundamental software is loaded into the main memory and is run so that the PC is ready to run an application program specified by the user. The fundamental software is known as a group of programs, including an operating system, prepared for administration and control of program execution and input/output operation. The term "fundamental software" is used in the present specification to express such a group of programs.
Another configuration is based on the user's computers called "X terminals" and another computer called a "server" all linked through a network, with the server running all application programs while each X terminal functioning user interface (function to control the associated input/output devices and the interface between the application program and input/output devices), as described in publication "X Window System Programming, Second Edition" by Nabajyoti Barkakati, SAMS Publishing, pp.3-20 (1994). Each user has his/her application programs and files stored in the server's storage device (e.g., magnetic disk), and operates on the server to load the program into the main memory and run the program. This computer system will be called here "X terminal system".
FIG. 5 shows the operation of the X terminal system during the use by a user. The figure shows multiple terminals, i.e., two terminals 510 and 510' in this example, connected to a server 520 through a network 580. The terminal 510 (or 510') and server 520 are computers each having a processor and main memory (not shown). The server 520 further has a magnetic disk storage 570, with its contents being accessed by programs that are run by the server 520.
The terminal 510 (or 510') has a loader 511 and a record of terminal identification (ID) 512. The loader 511 is a program which is run by the processor in the terminal 510 immediately after the terminal 510 is initialized, e.g., at the time of power on, and it functions to fetch a program from the server 520. The terminal ID 512 is a numeric code specific to each terminal. By addressing a terminal in terms of the terminal ID, a program which is being run by the server 520 can communicate with the program in the terminal through the network 580. The terminal 510 (or 510') is connected with input devices 17 and 17' and output devices 18 and 18'.
The server 520 has server-side fundamental software 560 which is run by its processor, and is equipped with a magnetic disk storage device 570 which stores terminal start-up programs (terminal-side fundamental software) 545 which are run by the terminals 510 and 510' and user files 541 and 541'.
In operation, the user initializes the terminal 510. Then, the loader 511 is run to read out and send the terminal ID 512 to the server-side fundamental software 560, as indicated by a dotted line with an arrow 500. Dotted lines with arrows are used in the present specification to express flow of a command, a signal or data between programs or between a program and a file, etc. Receiving the terminal ID 512, the server-side fundamental software 560 accesses the disk storage device 570, as indicated by a line 509, to read out the terminal start-up program 545, and sends it to the loader 511 of the terminal 510, as indicated by line 505. The loader 511 loads the received terminal start-up program 545 into the main memory and runs the program. The terminal 510 is now ready to run an application program specified by the user.
However, the conventional kinds of computer systems described above have the following problems.
The PC system needs to store newly introduced application programs in the storage devices of all user's PCs, and therefore it requires an intricate software management job. In contrast, the X terminal system, in which all application programs are run by the server, merely needs to store newly introduced application programs in the server's magnetic disk storage. However, since all application programs are run under control of the server-side fundamental software, individual user's demands of different architectures, different fundamental softwares and exclusive use of a computer cannot be accommodated.